import request from '@/utils/request'
import { AxiosResData } from '../../common_type'
import { CategoryObj, Attr } from './type'

//属性管理模块接口地址
enum API {
  //获取一级分类接口地址
  C1_URL = '/admin/product/getCategory1',
  //获取二级分类接口地址
  C2_URL = '/admin/product/getCategory2/',
  //获取三级分类接口地址
  C3_URL = '/admin/product/getCategory3/',
  //获取分类下已有的属性与属性值
  ATTR_URL = '/admin/product/attrInfoList/',
  //添加或者修改已有的属性的接口
  ADDORUPDATEATTR_URL = '/admin/product/saveAttrInfo',
  //删除某一个已有的属性
  DELETEATTR_URL = '/admin/product/deleteAttr/'
}

// 获取一级分类
export const getC1 = () => request.get<any, AxiosResData<CategoryObj[]>>(API.C1_URL)

// 获取二级分类
export const getC2 = (c1Id: number | string) => request.get<any, AxiosResData<CategoryObj[]>>(API.C2_URL + c1Id)

// 获取三级分类
export const getC3 = (c2Id: number | string) => request.get<any, AxiosResData<CategoryObj[]>>(API.C3_URL + c2Id)

//获取对应分类下已有的属性与属性值接口
export const reqAttr = (category1Id: string | number, category2Id: string | number, category3Id: string | number) => request.get<any, AxiosResData<Attr[]>>(API.ATTR_URL + `${category1Id}/${category2Id}/${category3Id}`)

//新增或者修改已有的属性接口
export const reqAddOrUpdateAttr = (data: Attr) => request.post<any, any>(API.ADDORUPDATEATTR_URL, data)

//删除某一个已有的属性业务
export const reqRemoveAttr = (attrId: number) => request.delete<any, any>(API.DELETEATTR_URL + attrId)
